指定した表の統計を更新します。TimesTenは表に格納されているデータを参照して、システム表TBL_STATSおよびCOL_STATSを更新します。表が大きい場合、このプロセスには多少時間がかかる可能性があります。統計は、行が更新されても自動的には計算されません。つまり、このプロシージャをコールすることによって、アプリケーションで明示的に統計を計算する必要があります。
アクセス制御がTimesTenのインスタンスに対して有効である場合、このプロシージャにはDDL権限が必要です。
ttOptUpdateStatsには、次のパラメータがあります。
パラメータ | データ型 | 説明 |
tblName | Char(61) | アプリケーション表の名前。表の所有者を含めることができます。NULLまたは空の文字列を値として指定すると、現在のユーザーのすべての表の統計が更新されます。 |
invalidate | INTEGER |
0(いいえ)または1(はい)。invalidateが1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。 invalidateパラメータはオプションで、デフォルトは0です。 |
option | INTEGER |
完全な時間隔の統計情報の収集をするかどうかを指定します。このオプションに有効な値は、次のとおりです。 Nullまたは0: 列にTツリー索引が存在する場合に、完全な時間隔統計を収集します。Tツリー索引が存在しない場合は、単一の時間隔統計が収集されます。 1 -完全な時間隔統計を収集しません。単一の時間隔統計のみが収集されます。 詳細は、「注意」を参照してください。 |
ttOptUpdateStatsは結果を返しません。
CALL ttOptUpdateStats ( 'ACCTS', 1 );ACCTS表を更新し、ACCTS表を参照するすべてのコマンドを次回の実行時に再準備します。
CALL ttOptUpdateStats('', 1);現在のユーザーのすべての表を更新し、その表に対するコマンドを次回の実行時に再準備します。
CALL ttOptUpdateStats('ACCTS', 0, 1);単一の時間隔統計を収集します。
指定した表名が空の文字列である場合、統計は現在のユーザーのすべての表について更新されます。
完全な時間隔統計を収集する場合、表の列の総数は20以下の時間隔に分割され、各時間隔の配分が統計に記録されます。新しい統計には次の情報が含まれます。
ttOptEstimateStats
ttOptGetColStats
ttOptSetColStats
ttOptSetColIntvlStats
ttOptSetTblStats
ttOptUpdateStats